package com.tao.YanMoDesignPattern.Order.case3_bake;

/**
 * @Author Mi_Tao
 * @Date 2023/8/26
 * @Description
 * @Version 1.0
 **/
public class AddCommand implements Command{

    private OperationApi operation = null;

    // 操作的数据
    private int opeNum;
    @Override
    public void execute() {
        // 转调接受者去执行
        this.operation.add(opeNum);
    }

    @Override
    public void undo() {
        // 命令本身是做加法，那么撤销的时候就是做减法
        this.operation.substract(opeNum);
    }

    /**
     * 传入具体执行计算的对象
     * @param operation 具体执行的计算对象
     * @param opeNum 操作的数值
     */
    public AddCommand(OperationApi operation,int opeNum){
        this.operation = operation;
        this.opeNum = opeNum;
    }


}
